This invention relates to an image processing apparatus and method for transforming the color space of entered image data.
One typical example of an image processing apparatus that has become popular in recent years is a color copier which reads a color document upon separating the document into each of its colors pixel by pixel and prints a reproduced image of the color document based upon the separated digital color component signals obtained by reading the document. A color copier of this type executes processing to separate the color document into the three colors R (red), G (green) and B (blue) and converts these colors to the three primary colors C (cyan), M (magenta) and Y (yellow) of a subtractive color mixture.
FIGS. 10 and 11 are diagrams useful in describing processing for the conversion of color signals in accordance with an example of the prior art.
As shown in FIG. 10, image signals of the three primary colors R, G, B obtained by color separation enter signal processing circuits 1, 2, 3, respectively, whence there are obtained the C, M and Y color signals, respectively.
A conversion method for generating the C, M, Y signals from the R. G, B color signals is so-called masking, expressed by the following equations (where Aij are coefficients decided in dependence upon the characteristic of the output device), executed by the signal processing circuits 1, 2, 3:
Signal processing circuit 1: C=A11xc3x97R+A12xc3x97G+A13xc3x97B
Signal processing circuit 2: M=A21xc3x97R+A22xc3x97G+A23xc3x97B
Signal processing circuit 3: Y=A31xc3x97R+A32xc3x97G+A33xc3x97B
Another available method does not rely upon taking the sum of products by the signal processing circuits 1, 2, 3. According to this method, the results of the arithmetic operations are stored beforehand in a memory serving as a look-up table and the results of these operations are read out of the look-up table and delivered as outputs in response to R, G, B signal values input to the table.
In the arrangement where the results of arithmetic operations are read out of a look-up table, the number of required addresses for the storage areas will be 224 (i.e., more than 16,000,000) if each of the entered R, G, B signal values is expressed by eight bits. Consequently, this approach is not realistic in view of the high cost of the memory required.
Accordingly, a converting circuit of the kind shown in FIG. 11 is provided for each of the C, M, Y signals. This arrangement divides the input R, G, B signals into high-order bit data Ru, Gu, Bu and low-order bit data Rl, Gl, Bl by a high-order/low-order bit dividing circuit 11. Only calculated results (namely the C, M, Y color signal values) that correspond to the high-order bit data Ru, Gu, Bu are stored beforehand in a table memory 13, which is a three-dimensional R, G, B look-up table. When the high-order bit data Ru, Gu, Bu of certain R, G, B color signal values is input to the table memory 13, the latter produces an output value 14 corresponding to this high-order bit data. The output value 14 and the low-order bit data Rl, Gl, Bl enter an interpolating circuit 15, which outputs a color signal 16 that is the result of subjecting the output value 14 to linear interpolation in dependence upon the low-order bit data Rl, Gl, Bl. (FIG. 11 illustrates a state in which the interpolating circuit 15 outputs the C signal.) In accordance with this arrangement, the number of storage area addresses of the table memory 13 need only be that required by the number of high-order bits. For example, if the high-order bits consist of three bits for each color, then the number of storage area addresses required will be 29 (i.e., 512), thereby making it possible to reduce storage area capacity.
It should be noted that the data stored in the table memory 13 in advance is not a data continuum. Accordingly, if the low-order bit data Rl, Gl, Bl is zero, the output signal 16 of the interpolating circuit 15 will correspond to the high-order bit data Ru, Gu, Bu and therefore correct color reproduction will be obtained. On the other hand, if the low-order bit data Rl, Gl, Bl is not zero, the output signal value 14 from the table memory 13 undergoes linear interpolation in the interpolating circuit 15 in conformity with the low-order bit data. As a consequence, the linear interpolation gives rise to interpolation error and color reproduction of the desired accuracy is not obtained.
Accordingly, the present invention has been devised in view of the aforesaid problem and its object is to provide an image processing apparatus and method in which it is possible to obtain accurate color reproduction using a look-up memory having a small storage capacity.
Another object of the present invention is to provide an image processing apparatus and method in which it is possible to readily generate a look-up table compensated for color reproducibility in relation to a specific color.
According to the present invention, the foregoing objects are attained by providing an image processing apparatus for transforming the color space of input image data, comprising: dividing means for dividing image data into data of high-order and low-order bits; a look-up table memory in which color data of a different color space corresponding to the number of high-order bits is stored in advance; color signal processing means for interpolating, on the basis of the data of the low-order bits, color data read out of the look-up table memory using the data of the high-order bits as an address, and outputting the interpolated color data; and rewriting means for selectively rewriting the color data at a prescribed address of the look-up table memory.
By way of example, the rewriting means includes: designating means for designating data of at least one color; generating means, in which high-order bits of the data that has been designated by the designating means are used as an address, for generating an address in the neighborhood of this address; and color data rewriting means for rewriting the color data of the look-up table memory that corresponds to the address generated by the generating means.
In another aspect of the present invention, the foregoing objects are attained by providing an image processing apparatus for subjecting image data to color processing, comprising: storage means for storing a look-up table having multi-dimensional inputs; input means for inputting color data of a specific color; arithmetic means for obtaining a relationship between input and output data of the look-up table that corresponds to a color in the neighborhood of the specific color; and modifying means for modifying a portion of the look-up table based upon the relationship between the input and output data obtained by the arithmetic means.
Further, according to the present invention, the foregoing objects are attained by providing an image processing method for transforming color space of input image data, comprising: a dividing step of dividing image data into data of high-order and low-order bits; a color signal processing step of interpolating, on the basis of the data of the low-order bits, color data that has been read out of a look-up table memory using the data of the high-order bits as an address, wherein color data of different color spaces corresponding to the number of high-order bits is stored in the look-up table memory in advance; and a rewriting step of selectively rewriting the color data at a prescribed address of the look-up table memory.
By way of example, the rewriting step includes the steps of: designating data of at least one color; adopting high-order bits of the designated data as an address and generating an address in the neighborhood of this address; and rewriting the color data of the look-up table memory that corresponds to the generated address.
In another aspect of the present invention, the foregoing objects are attained by providing an image processing method for subjecting image data to color processing using a stored look-up table having multi-dimensional inputs, comprising the steps of: inputting color data of a specific color; obtaining a relationship between input and output data of the look-up table that corresponds to a color in the neighborhood of the specific color; and modifying a portion of the look-up table based upon the relationship between the input and output data.